package com.biz.system.config;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.jfinal.config.Constants;
import com.jfinal.config.Handlers;
import com.jfinal.config.Interceptors;
import com.jfinal.config.JFinalConfig;
import com.jfinal.config.Plugins;
import com.jfinal.config.Routes;
import com.jfinal.template.Engine;
import com.jfinal.weixin.sdk.api.ApiConfig;
import com.jfinal.weixin.sdk.api.ApiConfigKit;


public class Config extends JFinalConfig {

	private static Logger log = LoggerFactory.getLogger(Config.class);

	/**
	 * 如果要支持多公众账号，只需要在此返回各个公众号对应的 ApiConfig 对象即可 可以通过在请求 url 中挂参数来动态从数据库中获取
	 * ApiConfig 属性值
	 */
	public static ApiConfig getApiConfig() {
		ApiConfig ac = new ApiConfig();

		// 配置微信 API 相关常量
		ac.setToken(WebchatServiceConstant.TOKEN);
		ac.setAppId(WebchatServiceConstant.APPID);
		ac.setAppSecret(WebchatServiceConstant.APPSECRET);

		/**
		 * 是否对消息进行加密，对应于微信平台的消息加解密方式： 1：true进行加密且必须配置 encodingAesKey
		 * 2：false采用明文模式，同时也支持混合模式
		 */
		ac.setEncryptMessage(false);
		ac.setEncodingAesKey(WebchatServiceConstant.EncodingAESKey);
		return ac;
	}
	
    public static ApiConfig  getApiConfigTiaonaliS() {
		ApiConfig ac = new ApiConfig();
			// 配置微信 API 相关常量
			ac.setToken(WebchatServiceConstant.TOKEN);
			ac.setAppId(WebchatServiceConstant.APPID_TIAONALIS);
			ac.setAppSecret(WebchatServiceConstant.APPSECRET_TIAONALIS);
			ac.setEncodingAesKey(WebchatServiceConstant.EncodingAESKey_TIAONALIS);
			return ac;
	}
    
	/**
	 * 配置常量
	 */
	@Override
	public void configConstant(Constants me) {
	}

	/**
	 * 配置处理器
	 */

	@Override
	public void configHandler(Handlers me) {
	}
	
	@Override
	public void configInterceptor(Interceptors me) {
		// TODO Auto-generated method stub
		
	} 

	/**
	 * 配置插件
	 */
	@Override
	public void configPlugin(Plugins me) {
		
		
	}

	/**
	 * 设置路由
	 */
	@Override
	public void configRoute(Routes me) {
	}

	/**
	 * 初始化常量
	 */
	public void afterJFinalStart() {
		ApiConfigKit.putApiConfig(getApiConfig());
		//ApiConfigKit.putApiConfig(getApiConfigTiaonaliS());
	}

	/**
	 * @Description : 判断是否是开发环境
	 * @author : maxiaojuan
	 * @date : 2015年7月22日下午6:30:09
	 */
	private boolean isDevMode() {
		return System.getProperty("os.name").indexOf("Windows") != -1;
	}
	@Override
	public void configEngine(Engine arg0) {
		// TODO Auto-generated method stub
		
	}



}
